<template>
	<view class="content">
		<text class="text">原更新组件是在当前页面以弹窗方式弹出，若页面有原生tabbar及原生导航栏时，无法遮盖原生tabbar及原生导航栏，要求完美主义者无法接受</text>
		<text class="text">现在的更新方式，也是我项目里一直使用的，以跳转新页面的方式更新，更新的页面是一个独立的页面，背景为透明色，跳转动画为fade-in，所以看起来与弹出框相似</text>
		<button class="btn" type="default" @click="getAppInfo(1)">检测更新</button>
	</view>
</template>
<script>
	import { checkUpdate } from "@/components/yzhua006-update/js/app-update-check.js";
	export default {
		data() {
			return {}
		},
		onLoad() {
			this.getAppInfo(0); //获取线上APP版本信息  参数type 0自动检查  1手动检查（手动检查时，之前取消更新的版本也会提示出来）
		},
		
		methods: {
			//获取线上APP版本信息
			getAppInfo(type) {
				const system_info = uni.getSystemInfoSync();
				let params = {
					os: system_info.platform //本机设备操作系统  （android || ios） 
				}
				if (params.os != 'ios' && params.os != 'android') false; //如果不是安卓或ios 返回false

				//这里自行请求API获取版本信息 建议传入操作系统标识，返回本机对应的操作系统最新版本信息，也就是安卓的返回就是安卓的版本信息  ios返回就是ios的版本信息

				//请求获取最新版本
				setTimeout(() => {
					let update_info = {
						version: '1.0.2', //线上版本
						now_url: "https://dldir1.qq.com/weixin/android/weixin802android1860_arm64.apk", //更新链接
						silent: 0, //是否是静默更新
						force: 1, //是否是强制更新
						net_check: 1, //非WIfi是否提示
						note: "产品汪汪要改这个字的颜色", //更新内容
					}
					checkUpdate(update_info, type).then(res => {
						if (res.msg) {
							plus.nativeUI.toast(res.msg);
						}
					}); ///检查更新  
					//checkUpdate 这个方法会做什么？：线上版本号 与 本地版本号做对比 ，如果需要更新  根据静默，强制、wifi等信息执行静默更新或跳转到升级页面
					//跳转升级页面的前提是，需要新建并在pages.json中配置升级页面，配置方法请查看插件详情
				}, 200)
			},
		}
	}
</script>

<style lang="scss" scoped>
	.content {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		padding: 30rpx;

		.text {
			font-size: 26rpx;
			color: #666666;
			margin: 20rpx 0;
			line-height: 40rpx;
		}

		.btn {
			width: 100%;
			margin-top: 30rpx;
			font-size: 26rpx;
			height: 80rpx;
			line-height: 80rpx;
			color: #666666;
		}
	}
</style>
